package com.backstage.dao;

import com.backstage.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ContactsUserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(ContactsUser record);

    int insertSelective(ContactsUser record);

    ContactsUser selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(ContactsUser record);

    int updateByPrimaryKey(ContactsUser record);



    //tag关键词查询所以用户
    List<ContactsUser> selectUserList(ContactsUser record);

    //根据Tag名称查询是否存在
    Integer selectContactsUserTagName(String tagname);

    //查询用户Tag列表
    List<ObjectContactsUser> selectUserTagList(Integer userId);

    //查询用户关联的标签数量
    Integer selectTagRelationTotal(Integer userId);

    //添加Tag标签 - 不用了（走对象方式）
    int insertAddContactsTag(ContactsTag record);

    //Tag标签引用增1
    int updateContactsTagNumAd(Integer tagId);

    //Tag标签引用减1
    int updateContactsTagNumRe(Integer tagId);

    //查询Tag标签与用户关联表是否存在
    Integer selectRelationHasId(@Param("userId") Integer userId, @Param("tagId") Integer tagId);

    //建立Tag关系表
    Integer insertAddRelationId(@Param("userId") Integer userId, @Param("tagId") Integer tagId);

    //删除标签
    int deleteRelationTagKey(@Param("userId") Integer userId, @Param("tagId") Integer tagId);

    //根据Id查询关联用户列表
    List<ContactsRelationUser> selectUserDetailsListKey(@Param("userId") Integer userId, @Param("tagName") String tagName);


    //根据Id查询关联用户列表 微信小程序 简约版
    List<WeixinAppUser> selectUserDetailsListKeyWxId(@Param("userId") Integer userId);
    List<WeixinAppUser> selectUserDetailsListKeyWx(@Param("userId") Integer userId, @Param("tagName") String tagName);

    //查询用户信息 微信小程序
    WeixinAppUser selectUserObjKeyWx(Integer userId);

    //根据openid查询用户信息 微信小程序
    ContactsUser selectContactsUserOpenid(String openid);

    //新增用户 微信小程序

}